﻿using UnityEngine;

namespace ZFramework.Runtime
{
    public partial class EditorModeResourceMgr
    {
        private struct UnloadSceneInfo
        {
            private readonly AsyncOperation _asyncOperation;
            private readonly string _sceneAssetPath;
            private readonly UnloadSceneCallbacks _unloadSceneCallbacks;
            private readonly object _userData;

            public UnloadSceneInfo(AsyncOperation asyncOperation, string sceneAssetPath,
                UnloadSceneCallbacks unloadSceneCallbacks, object userData)
            {
                _asyncOperation = asyncOperation;
                _sceneAssetPath = sceneAssetPath;
                _unloadSceneCallbacks = unloadSceneCallbacks;
                _userData = userData;
            }

            public AsyncOperation AsyncOperation
            {
                get { return _asyncOperation; }
            }

            public string AssetPath
            {
                get { return _sceneAssetPath; }
            }

            public UnloadSceneCallbacks UnloadSceneCallbacks
            {
                get { return _unloadSceneCallbacks; }
            }

            public object UserData
            {
                get { return _userData; }
            }
        }
    }
}
